<?php
//   +----------------------------------------------------------------------
//   | Copyright (c) 2015-2025 http://www.hdphp.cn All rights reserved.
//   | Licensed ( http://www.hdphp.cn/licenses/ )
//   | Author: Jack <sophia2152@qq.com>
//   | 官方网址: http://www.hdphp.cn
//   | 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用。
//   | 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
//   +----------------------------------------------------------------------
namespace hdphp\basic;

/**
 * Class：容器基类
 * 创建人：Jack
 * 创建时间：2023/11/25 9:10
 * @package hdphp\basic
 */
abstract class BaseStorage
{
    use \hdphp\traits\ErrorTrait;

    /**
     * 驱动名称
     * @var string
     */
    protected $name;

    /**
     * 驱动配置文件名
     * @var string
     */
    protected $configFile;

    /**
     * @param string      $name       驱动名
     * @param array       $config     驱动配置名
     * @param string|null $configFile 其他配置
     */
    public function __construct(string $name, array $config = [], string $configFile = null)
    {
        $this->name = $name;
        $this->configFile = $configFile;
        $this->initialize($config);
    }

    /**
     * 注释：初始化
     * 创建人：Jack
     * 创建时间：2023/11/25 9:13
     * @param array $config
     * @return mixed
     */
    abstract protected function initialize(array $config);

}